home *** CD-ROM | disk | FTP | other *** search
- ;
- ; MASTER -- MAIN PSDI PROGRAM
- ; (c) Copyright 1990 Chris Butler
- ;
-
- video m
- set esc "CTRL-Q"
- set space off
-
- set i 1
- goto mstr_init
-
- ;reenter: ; don't blank scr w/VIDEO on reentry
- entry_1:
- set i 1
- goto mstr_init
- entry_2:
- set i 2
- goto mstr_init
- entry_3:
- set i 3
- goto mstr_init
- entry_4:
- set i 4
- goto mstr_init
- entry_5:
- set i 5
- goto mstr_init
- entry_6:
- set i 6
- goto mstr_init
- entry_7:
- set i 7
- goto mstr_init
- entry_8:
- set i 8
- goto mstr_init
- entry_9:
- set i 9
- goto mstr_init
- entry_10:
- set i 10
- goto mstr_init
- entry_11:
- set i 11
- goto mstr_init
- entry_12:
- set i 12
- goto mstr_init
- entry_13:
- set i 13
- goto mstr_init
- entry_14:
- set i 14
- goto mstr_init
- entry_15:
- set i 15
- goto mstr_init
-
-
- ;CLOSEGL
- mstr_init:
- global keycolor 8
- global numbboxes 17
- init_box_list ; initialize menu data
- setrgb 0 0,0,0 1
- setrgb 6 21,42,42 1
- setrgb 7 42,42,42 1
- setrgb 8 52,52,52 1
- setrgb 9 0,0,63 1
- setrgb 15 63,63,63 1
-
- pload menu9.pic 1
- pfade 9 1 300
- pfree 1
- palette 1
-
- toploop:
- set y2 @("box."$@i$".y2")
- color 0
- box @("box."$@i$".x1")-2 @("box."$@i$".y1")-3 @("box."$@i$".x2")+3 @y2+2
- color 8
- box @("box."$@i$".x1")-3 @("box."$@i$".y1")-4 @("box."$@i$".x2")+4 @y2+3
- waitkey 20 nogot
- goto gotchar
- nogot:
- color 9
- box @("box."$@i$".x1")-2 @("box."$@i$".y1")-3 @("box."$@i$".x2")+3 @y2+2
- box @("box."$@i$".x1")-3 @("box."$@i$".y1")-4 @("box."$@i$".x2")+4 @y2+3
- waitkey 20 toploop
- goto gotchar
-
- gotchar:
- color 0 ; black box outline
- box @("box."$@i$".x1")-2 @("box."$@i$".y1")-3 @("box."$@i$".x2")+3 @y2+2
- color 8
- box @("box."$@i$".x1")-3 @("box."$@i$".y1")-4 @("box."$@i$".x2")+4 @y2+3
- ifkey ENTER do_proc UP do_up DOWN do_down
- noise 600 300 50
- goto toploop
- do_down:
- if @i==@numbboxes
- set i 1
- else
- set i @i+1
- endif
- goto toploop
- do_up:
- if @i==1
- set i @numbboxes
- else
- set i @i-1
- endif
- goto toploop
- do_proc:
- global h 5+@("box."$@i$".y2")-@("box."$@i$".y1")
- global w 5+@("box."$@i$".x2")-@("box."$@i$".x1")
- pushbutton @("box."$@i$".x1")-2 @("box."$@i$".y1")-3 @h @w @keycolor
- goto @("jmptbl."$@i)
-
- NOISE 1000 500 100 ; shouldn't get here
- EXIT
-
- ;
- ; MAKEMENU -- setup menu screen
- ;
- makemenu:
- color 8
- clearscr
- set i 1
- mark @numbboxes
- set y2 @("box."$@i$".y2")
- color @keycolor
- rect @("box."$@i$".x1") @("box."$@i$".y1") @("box."$@i$".x2") @y2
- color 0
- box @("box."$@i$".x1")-2 @("box."$@i$".y1")-3 @("box."$@i$".x2")+3 @y2+2
- set i @i+1
- loop
- return; subr MAKEMENU
-
- ;
- ; INITBOXLIST -- setup menu button data list
- ;
- init_box_list:
- databegin menudata
- local i 1
- mark @numbboxes
- global "box."$@i$".x1" @
- global "box."$@i$".y1" @
- global "box."$@i$".x2" @
- global "box."$@i$".y2" @
- global "jmptbl."$@i @
-
- set i @i+1
- loop
- return ; (init_box_list)
-
- menudata:
-
- 304 431 624 447 shebang
- 304 406 624 422 ovrvu
- 304 381 624 397 ibmbp
- 304 356 624 372 supp
- 304 331 624 347 ww
- 304 306 624 322 clients
- 304 281 624 297 engr
- 304 256 624 272 sched
- 304 231 624 247 inv
- 304 206 624 222 accntg
- 304 181 624 197 mis
- 304 156 624 172 mgr
- 304 131 624 147 tstdrv
- 304 106 624 122 roi
- 304 81 624 97 about
- 304 56 624 72 help
- 304 31 624 47 dos
-
- dataend
-
- shebang:
- link overview.txt all
- ovrvu:
- link overview.txt
- ibmbp:
- link ibmbp.txt
- supp:
- link support.txt
- ww:
- link ww.txt
- clients:
- link clients.txt
- engr:
- link engr.txt
- sched:
- link sched.txt
- inv:
- link inv.txt
- accntg:
- link purch.txt
- mis:
- link mis.txt
- mgr:
- link mgr.txt
- tstdrv:
- link udrive.txt
- roi:
- link roi.txt
- about:
- gosub about_subr
- goto toploop
- help:
- gosub help_subr
- goto toploop
- dos:
- exit
-
- ; HELP_SUBR -- main menu help
- help_subr:
- cgetbuf 1 24,27 272,471 1 0
- cload helpclip.clp 2 1 0
- cfade 20 24,27 2 100
- waitkey
- cfade 20 24,27 1
- cfree 1 2
- return ; HELP_SUBR
-
- ; ABOUT_SUBR -- intrctv mkg bit
- about_subr:
- cgetbuf 1 24,26 272,224 1 0
- cload about.clp 2 1 0
- cfade 20 24,26 2 100
- waitkey
- cfade 20 24,26 1
- cfree 1 2
- return ; ABOUT_SUBR
-
- ;
- ; COLORBARS -- diagnostic routine
- ;
- colorbars:
- set i "0"
- offset 50,350
- mark 16
- color @i
- rect 0,0 20,20
- color 0
- text 5,5 @i
- offset 20,0 r
- set i @i+1
- loop
- offset 0,0 ; COLORBARS code
- return ; subr COLORBARS
-
- ;
- ; PUSHBUTTON -- actuate onscreen "button"
- ; uses MS Windows button format (white #15 top line and
- ; 2 bars of gray #8 shading)
- ;
- pushbutton:
- local llx @1 ; lower left corner of button x
- local lly @2 ; lower left corner y
- local h @3 ; height
- local w @4 ; width
- local keycolor @5 ; color of keytop
- ; note: uses buffer 1
-
- local bndryoff (@llx+2)%8 ; boundary offset (@llx+2=x start of clipping)
- set wait "0" ; diagnostic switch
-
- cgetbuf 1 @llx+2,@lly+3 @llx+@w-3,@lly+@h-2 0 0; grab center of button [shifted]
- color @keycolor
- if @wait
- waitkey
- endif
- line @llx+1,@lly+1 @llx+1,@lly+@h-1 ; gray out left white line
- line @llx+1,@lly+@h-1 @llx+@w-1,@lly+@h-1 ; gray out top white line
-
- putup 1+@bndryoff,-1 1
- color @keycolor
- point @llx+2,@lly+2
- point @llx+@w-2,@lly+@h-2
- if @wait
- waitkey
- endif
-
- putup 2+@bndryoff,-2 1
- point @llx+2,@lly+1
- point @llx+3,@lly+1
- point @llx+@w-1,@lly+@h-2
- point @llx+@w-1,@lly+@h-3
- color 8
- line @llx+1,@lly+@h-1 @llx+@w-1,@lly+@h-1
- color 0
- line @llx+1,@lly+1 @llx+1,@lly+@h-1
- if @wait
- waitkey
- endif
-
- putup 1+@bndryoff,-1 1
- color 7
- line @llx+2,@lly+1 @llx+@w-1,@lly+1
- line @llx+@w-1,@lly+1 @llx+@w-1,@lly+@h-2
- color @keycolor
- line @llx+1,@lly+@h-1 @llx+@w-1,@lly+@h-1
- line @llx+1,@lly+1 @llx+1,@lly+@h-1
- if @wait
- waitkey
- endif
-
-
- cgetbuf 1 @llx+3,@lly+1 @llx+@w-1,@lly+@h-3 0 0 ;
- putup @bndryoff,1 1 ; new clipping from lr corner
- color 15
- line @llx+1,@lly+1 @llx+1,@lly+@h-1
- line @llx+1,@lly+@h-1 @llx+@w-1,@lly+@h-1
- color 7
- point @llx+1,@lly+1 ; ll corner
- point @llx+@w-1,@lly+@h-1 ; tr corner
- if @wait
- waitkey
- endif
-
- return ; subr PUSHBUTTON